package com.dkakunsi.monev.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.dkakunsi.monev.entity.Kegiatan;
import com.dkakunsi.monev.entity.Program;
import com.dkakunsi.monev.util.MonevDataException;

@Service("monitoringService")
@Transactional(readOnly=true)
public class MonitoringService extends MonevAbstractService {
	@Autowired private KegiatanService kegiatanService;

	public List<Kegiatan> monitorByTahunAnggaran(int tahunAnggaran) throws MonevDataException {
		return kegiatanService.get(tahunAnggaran);
	}
	
	public List<Kegiatan> monitorByProgram(Program program) throws MonevDataException {
		return kegiatanService.get(program);
	}
	
	public List<Kegiatan> monitorByProgram(Program program, int tahunAnggaran) throws MonevDataException {
		return kegiatanService.get(tahunAnggaran, program);
	}
	
	public List<Kegiatan> monitorByInstansiTerkait(String instansiTerkait) throws MonevDataException {
		return kegiatanService.get(instansiTerkait);
	}

	public List<Kegiatan> monitorByInstansiTerkait(String instansiTerkait, int tahunAnggaran) throws MonevDataException {
		return kegiatanService.get(tahunAnggaran, instansiTerkait);
	}
	
	public List<Kegiatan> monitorBySumberDana(String sumberDana) throws MonevDataException {
		return kegiatanService.getBySumberDana(sumberDana);
	}

	public List<Kegiatan> monitorBySumberDana(String sumberDana, int tahunAnggaran) throws MonevDataException {
		return kegiatanService.getBySumberDana(sumberDana, tahunAnggaran);
	}

}
